package com.kmt.plaza.dao;

import com.kmt.plaza.entity.*;
import com.kmt.plaza.general.GeneralDAO;
import com.kmt.plaza.vo.ProductVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ProductMapper extends GeneralDAO<Product> {
    public List<ProductVO> selectRecommendProducts();

    /**
     * 查询一级分类下的销量最高的6个商品
     *
     * @param cid
     * @return
     */
    public List<ProductVO> selectByClassifies(int cid);

    /**
     * 商品查询
     */
    public List<Product> selectProductLists(@Param("start") int start,
                                           @Param("limit") int limit);

    /**
     * 按productId查询商品
     *
     * @param product
     * @return
     */
    public List<Product> queryByProductId(String product);

    //增加商品
    public int insertProduct(Product product);

    //删除商品
    public int deleteProduct(String ProductId);

    //修改商品
    public int updateProduct(Product product);
    //管理员根据条件查询商品
    public List<Product> queryByCondition(@Param("start") int start,
                                          @Param("limit") int limit,
            String keyWord,String productStatus,String firstClassityId);

    /**
     * 根据三级分类ID分页查询商品信息
     * @param cid 三级分类id
     * @param start 起始索引
     * @param limit 查询记录数
     * @return
     */
    public List<ProductVO> selectProductByCategoryId(@Param("cid") int cid, @Param("start") int start, @Param("limit") int limit);

    //根据商品类别查询所有品牌
    List<String> selectBrandByCategoryId(int cid);

    List<ProductVO> selectProductByKeyword(String kw, int start, int limit);

    List<String> selectBrandByKeyword(String kw);

}